This disclosure relates generally to the field of computer software. More particularly, but not by way of limitation, it relates to techniques for discovering installed software applications on a computer system.
Identifying installed applications on a computer running a Microsoft WINDOWS® (WINDOWS is a registered trademark of the Microsoft Corporation) platform is challenging because there is no single place where all of the installed applications can be discovered. Applications are not installed in a standard manner and certain components that are part of the operating system look like applications. These challenges surface because software vendors (including Microsoft) do not follow a standard approach to installing software on a WINDOWS platform.
Not all installed applications can be fetched by running a Windows Management Instrumentation (WMI) query. Not all applications are installed using a Windows Installer (previously known as Microsoft Installer or MSI). Shortcuts are created on the Desktop or the Start Menu Programs folder for applications that have a graphical user interface (GUI), but some applications do not have a shortcut at all. The Sun Microsystems Sun JAVA® SE Development Kit (JDK) is an example for this type. (JAVA is a registered trademark of Sun Microsystems, Inc.) Most of the applications are installed under the “Program Files” folder by default; however, some applications are installed elsewhere. The ORACLE® client is an example for this type. (ORACLE is a registered trademark of Oracle Corporation.) The installation information for applications is left in multiple places: the registry, folders, WMI, etc.
Not only do standard tools not identify all applications, they identify as applications software titles that are not applications. An entry is added in the “Add/Remove Programs” applet under “Control Panel” for an installed application. Some entries are added for things other than applications, however, including drivers, updates, and patches applied to the operating system. Therefore identifying installed applications can be challenging.
Other techniques for discovering applications also have shortcomings. For example, shortcuts appear in the “Start Menu Programs” menu for components that are part of the operating system, such as the games “Pinball” and “Solitaire.”
In summary, applications installed on a WINDOWS platform do not follow a common paradigm to be able to consolidate a report of what is installed on the box. Software for software title discovery is available from a number of vendors. Examples of such discover software include: BMC Discovery Scanner from BMC Software; Belarc Advisor from Belarc, Inc.; zCI Computer Inventory System, Magnicomp Sysinfo from Magnicomp; iInventory, from iInventory Software; and the OCS Inventory NG system. Previous attempts at doing WINDOWS software discovery either resulted in too much information (a low signal-to-noise ratio), or too little (applications are installed, but not discovered). In addition, previous attempts at software discovery often caused a significant drain on the resources of the computer being scanned, particularly in implementations that do a complete disk scan looking for executables.